home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 26 / Cream of the Crop 26.iso / os2 / pvm34b3.zip / pvm34b3 / pvm3 / tracer / trccompatrev.h < prev    next >
C/C++ Source or Header  |  1997-07-22  |  3KB  |  140 lines

  1.  
  2. /* $Id: trccompatrev.h,v 4.1 1996/10/31 20:47:52 pvmsrc Exp $ */
  3.  
  4. /*
  5.  *         Tracer version 1.0:  A Trace File Generator for PVM
  6.  *           Oak Ridge National Laboratory, Oak Ridge TN.
  7.  *           Authors:  James Arthur Kohl and G. A. Geist
  8.  *                   (C) 1994 All Rights Reserved
  9.  *
  10.  *                              NOTICE
  11.  *
  12.  * Permission to use, copy, modify, and distribute this software and
  13.  * its documentation for any purpose and without fee is hereby granted
  14.  * provided that the above copyright notice appear in all copies and
  15.  * that both the copyright notice and this permission notice appear
  16.  * in supporting documentation.
  17.  *
  18.  * Neither the Institution, Oak Ridge National Laboratory, nor the
  19.  * Authors make any representations about the suitability of this
  20.  * software for any purpose.  This software is provided ``as is''
  21.  * without express or implied warranty.
  22.  *
  23.  * Tracer was funded by the U.S. Department of Energy.
  24.  */
  25.  
  26.  
  27. /*
  28.  *    trccompatrev.h
  29.  *
  30.  *    New PVM 3.4 Libpvm tracing includes for 3.3 compilation.
  31.  *
  32.  */
  33.  
  34.  
  35. #define TEV_FIRST            0
  36. #define TEV_MAX                0
  37.  
  38.  
  39. #define TEV_HEADER            0
  40.  
  41.  
  42. #define TEV_DID_FIRST        0
  43. #define TEV_DID_HN            0
  44. #define TEV_DID_HNA            0
  45. #define TEV_DID_HA            0
  46. #define TEV_DID_HSP            0
  47. #define TEV_DID_HDS            0
  48. #define TEV_DID_HDU            0
  49. #define TEV_DID_OS            0
  50. #define TEV_DID_TID            0
  51. #define TEV_DID_TS            0
  52. #define TEV_DID_TU            0
  53. #define TEV_DID_MAX            0
  54.  
  55.  
  56. #define TEV_EVENT_ENTRY        0x4000
  57. #define TEV_EVENT_EXIT        0x8000
  58.  
  59.  
  60. /* Trace Event Info Structures */
  61.  
  62. struct Pvmtevinfo
  63. {
  64.     char *name;
  65.     int desc_status;
  66.     struct timeval mark;
  67.     struct timeval total;
  68.     int count;
  69. };
  70.  
  71. extern struct Pvmtevinfo pvmtevinfo[];
  72.  
  73.  
  74. struct Pvmtevdid
  75. {
  76.     char *did;
  77.     char *desc;
  78. };
  79.  
  80. extern struct Pvmtevdid pvmtevdidlist[];
  81.  
  82.  
  83. /* Trace Markers */
  84.  
  85. #define TEV_MARK_EVENT_BUFFER        -1
  86. #define TEV_MARK_EVENT_BUFFER_END    -2
  87. #define TEV_MARK_DATA_ID            -3
  88. #define TEV_MARK_DATA_ID_END        -4
  89. #define TEV_MARK_EVENT_DESC            -5
  90. #define TEV_MARK_EVENT_DESC_END        -6
  91. #define TEV_MARK_EVENT_RECORD        -7
  92. #define TEV_MARK_EVENT_RECORD_END    -8
  93. #define TEV_MARK_USER_EVENT_RECORD    -9
  94. #define TEV_MARK_USER_EVENT_RECORD_END -10
  95.  
  96.  
  97. /* Trace Event Data Types */
  98.  
  99. #define TEV_DATA_NULL            0
  100. #define TEV_DATA_BYTE            1
  101. #define TEV_DATA_CPLX            2
  102. #define TEV_DATA_DCPLX            3
  103. #define TEV_DATA_DOUBLE            4
  104. #define TEV_DATA_FLOAT            5
  105. #define TEV_DATA_INT            6
  106. #define TEV_DATA_UINT            7
  107. #define TEV_DATA_LONG            8
  108. #define TEV_DATA_ULONG            9
  109. #define TEV_DATA_SHORT            10
  110. #define TEV_DATA_USHORT            11
  111. #define TEV_DATA_STRING            12
  112. #define TEV_DATA_STRUCT_START    13
  113. #define TEV_DATA_STRUCT_END        14
  114. #define TEV_DATA_DEFERRED        15
  115.  
  116. #define TEV_DATA_SCALAR        0x00
  117. #define TEV_DATA_ARRAY        0x80
  118.  
  119.  
  120. /* Trace Mask Macros & Constants */
  121.  
  122. #define TEV_MASK_LENGTH 32
  123.  
  124. typedef char Pvmtmask[TEV_MASK_LENGTH];
  125.  
  126. #define TEV_MASK_SET( m, k )    ( m[ (k) / 4 ] |= ( 1 << ((k) & 3) ) )
  127.  
  128. #define TEV_MASK_UNSET( m, k )    ( m[ (k) / 4 ] &= ~( 1 << ((k) & 3) ) )
  129.  
  130. #define TEV_MASK_CHECK( m, k )    ( m[ (k) / 4 ] & (1 << ((k) & 3) ) )
  131.  
  132. #define TEV_MASK_INIT( m ) \
  133. { \
  134.     int tev_init_mask_i = TEV_MASK_LENGTH - 1; \
  135.     m[ tev_init_mask_i ] = 0; \
  136.     while ( tev_init_mask_i-- > 0 ) \
  137.         m[ tev_init_mask_i ] = '@'; \
  138. }
  139.  
  140.